home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / webx / jpged26s.lzh / Disp.s < prev    next >
Encoding:
Text File  |  1996-11-10  |  8.9 KB  |  554 lines

  1. ******************************************************************************
  2. *
  3. *    ëµû╩ò\Īè╓îW╗╠▐┘░┴▌
  4. *
  5. ******************************************************************************
  6.     include    DOSCALL.MAC
  7.     include    IOCSCALL.MAC
  8.     include  work.inc
  9.  
  10.     .xref    msgCR,msgBar
  11.     .xref    Info_msg,spc8_msg
  12.     .xref    color_msg,mono_msg
  13.     .xref    DecodeNowMsg
  14.     .xref    DecodeNormalMsg
  15.     .xref    DecodeErrorMsg
  16.  
  17.     .text
  18.  
  19. ******************************************************************************
  20. *
  21. *  ëµæ£Åεò±é≡ò\Ī
  22. *
  23. ******************************************************************************
  24. .xdef Disp_Pic_Info
  25. Disp_Pic_Info
  26.         movem.l    d0-d7/a0,-(sp)
  27.  
  28. *î┼ÆΦ╥»╛░╝▐ò\Ī
  29. *----------------------------
  30.     *ëµæ£Åεò±î┼ÆΦ╥»╛░╝▐ò\Ī
  31.     *---------------------
  32.         *âJü[â\âïê╩Æu(0,0)É▌ÆΦ
  33.         *---------------------
  34.         clr.l    -(sp)
  35.         move.w    #3,-(sp)
  36.         DOS    _CONCTRL
  37.         addq.l    #6,sp
  38.  
  39.         *î┼ÆΦ╥»╛░╝▐ò\Ī
  40.         *-----------------------
  41.         pea.l    Info_msg(pc)
  42.         DOS    _PRINT
  43.         addq.l    #4,sp
  44.  
  45.     *âoü[ò\Ī
  46.     *----------------------------
  47.         *âJü[â\âïê╩Æu(0,6)É▌ÆΦ
  48.         *---------------------
  49.         move.l    #$0000_0006,-(sp)
  50.         move.w    #3,-(sp)
  51.         DOS    _CONCTRL
  52.  
  53.         *âoü[ò\Ī
  54.         *----------------------------
  55.         moveq.l    #32-1,d7
  56.         pea.l    msgBar(pc)
  57. @@
  58.         DOS    _PRINT
  59.         dbra    d7,@b
  60.  
  61.         lea.l    10(sp),sp
  62.  
  63. *ëµæ£Åεò±ò\Ī
  64. *----------------------------
  65.     *╠º▓┘û╝(9,0)é╔ò\Ī
  66.     *--------------------------
  67.         move.l    #$0009_0000,-(sp)
  68.         move.w    #3,-(sp)
  69.         DOS    _CONCTRL
  70.         addq.l    #6,sp
  71.  
  72.         pea.l    fname(a6)
  73.         DOS    _PRINT
  74.         pea.l    msgCR(pc)
  75.         DOS    _PRINT
  76.         addq.l    #8,sp
  77.  
  78.     *ëµæ£╗▓╜▐(9,1)é╔ò\Ī
  79.     *-------------------------
  80.         move.l    #$0009_0001,-(sp)
  81.         move.w    #3,-(sp)
  82.         DOS    _CONCTRL
  83.         addq.l    #6,sp
  84.  
  85.         move.w    Xline(a6),d0
  86.         bsr    PrintW
  87.         move.w    #'x',-(sp)
  88.         DOS    _PUTCHAR
  89.         addq.l    #2,sp
  90.         move.w    Yline(a6),d0
  91.         bsr    PrintW
  92.  
  93.     *ëµæ£ûºôx(9,2)
  94.     *---------------------
  95.         move.l    #$0009_0002,-(sp)
  96.         move.w    #3,-(sp)
  97.         DOS    _CONCTRL
  98.         addq.l    #6,sp
  99.  
  100.         move.w    Aspect(a6),d0
  101.         bsr    PrintW
  102.         move.w    #':',-(sp)
  103.         DOS    _PUTCHAR
  104.         addq.l    #2,sp
  105.         move.w    Aspect+2(a6),d0
  106.         bsr    PrintW
  107.  
  108.     *ëµæ£É╕ôx(9,3)
  109.     *---------------------
  110.         move.l    #$0009_0003,-(sp)
  111.         move.w    #3,-(sp)
  112.         DOS    _CONCTRL
  113.         addq.l    #6,sp
  114.  
  115.         moveq.l    #0,d0
  116.         move.b    Qlevel_source(a6),d0
  117.         bsr    PrintW
  118.  
  119.     *ÉFɼò¬è╘ê°é½ùª(9,4)
  120.     *---------------------
  121.         move.l    #$0009_0004,-(sp)
  122.         move.w    #3,-(sp)
  123.         DOS    _CONCTRL
  124.  
  125.         move.w    #'1',(sp)
  126.         DOS    _PUTCHAR
  127.         move.w    #'/',(sp)
  128.         DOS    _PUTCHAR
  129.  
  130.         addq.l    #6,sp
  131.  
  132.         moveq.l    #$0f,d1
  133.         and.b    uvmode_source(a6),d1
  134.         moveq.l    #0,d0
  135.         move.b    uvmode_source(a6),d0
  136.         lsr.b    #4,d0
  137.         mulu.w    d1,d0
  138.         bsr    PrintW
  139.  
  140.     *ì∞ɼô·òt(41,1)
  141.     *---------------------
  142.         move.l    #$0029_0001,-(sp)
  143.         move.w    #3,-(sp)
  144.         DOS    _CONCTRL
  145.         addq.l    #4,sp
  146.  
  147.         *öN
  148.         *----------------
  149.         move.w    #$00fe,d0
  150.         and.b    fdate(a6),d0
  151.         lsr.b    d0
  152.         add.w    #1980,d0
  153.         bsr    PrintW
  154.         move.w    #'-',(sp)
  155.         DOS    _PUTCHAR
  156.  
  157.         *îÄ
  158.         *----------------
  159.         move.w    #$01e0,d0
  160.         and.w    fdate(a6),d0
  161.         lsr.w    #5,d0
  162.         bsr    Print2keta
  163.         DOS    _PUTCHAR
  164.  
  165.         *ô·
  166.         *----------------
  167.         moveq.l    #$001f,d0
  168.         and.b    fdate+1(a6),d0
  169.         bsr    Print2keta
  170.         move.w    #' ',(sp)
  171.         DOS    _PUTCHAR
  172.  
  173.         *Ä₧
  174.         *----------------
  175.         move.w    #$f8,d0
  176.         and.b    fdate+2(a6),d0
  177.         lsr.b    #3,d0
  178.         bsr    Print2keta
  179.         move.w    #':',(sp)
  180.         DOS    _PUTCHAR
  181.  
  182.         *ò¬
  183.         *----------------
  184.         move.w    #$07e0,d0
  185.         and.w    fdate+2(a6),d0
  186.         lsr.w    #5,d0
  187.         bsr    Print2keta
  188.         move.w    #':',(sp)
  189.         DOS    _PUTCHAR
  190.         addq.l    #2,sp
  191.  
  192.         *òb
  193.         *----------------
  194.         moveq.l    #$01f,d0
  195.         and.b    fdate+3(a6),d0
  196.         bsr    Print2keta
  197.  
  198.  
  199.     *ÉF(41,2)
  200.     *---------------------
  201.         move.l    #$0029_0002,-(sp)
  202.         move.w    #3,-(sp)
  203.         DOS    _CONCTRL
  204.         addq.l    #6,sp
  205.  
  206.         lea.l    color_msg(pc),a0
  207.  
  208.         tst.b    colormode(a6)
  209.         beq    @f
  210.         lea.l    mono_msg(pc),a0
  211. @@
  212.         move.l    a0,-(sp)
  213.         DOS    _PRINT
  214.         addq.l    #4,sp
  215.  
  216.         bsr    Disp_Pic_Zoom
  217.         bsr    Disp_Pic_Position
  218.  
  219.     *ôWèJÅ≤æ╘ò\Ī(9,5)
  220.     *-----------------------
  221.         move.l    #$0009_0005,-(sp)
  222.         move.w    #3,-(sp)
  223.         DOS    _CONCTRL
  224.         addq.l    #4+2,sp
  225.  
  226.         move.b    DecodeStatus(a6),d0
  227.         lea.l    DecodeNowMsg(pc),a0
  228.         cmp.b    #1,d0
  229.         bcs    @f
  230.         lea.l    DecodeNormalMsg(pc),a0
  231.         beq    @f
  232.         lea.l    DecodeErrorMsg(pc),a0
  233. @@
  234.         move.l    a0,-(sp)
  235.         DOS    _PRINT
  236.         addq.l    #4,sp
  237.  
  238. *╥»╛░╝▐ò\Ī(0,7)
  239. *---------------------
  240.         moveq.l    #31-7,d3    d2=ò\ĪìsÉö
  241.  
  242.         move.w    d3,-(sp)
  243.         move.w    #7,-(sp)
  244.         move.w    #15,-(sp)
  245.         DOS    _CONCTRL
  246.         addq.l    #6,sp
  247.  
  248.         move.w    imsg_handle(a6),d1
  249.         bmi    imsg_disp_end
  250.  
  251.         move.w    #1,-(sp)
  252.         clr.l    -(sp)
  253.         move.w    d1,-(sp)
  254.         DOS    _SEEK
  255.         addq.l    #8,sp
  256.         move.l    d0,-(sp)
  257.  
  258.         clr.w    -(sp)
  259.         move.l    imsg_start_point(a6),-(sp)
  260.         move.w    d1,-(sp)
  261.         DOS    _SEEK
  262.  
  263.         move.l    imsg_size(a6),d2
  264.         beq    4f
  265. 1
  266.         move.w    d1,(sp)
  267.         DOS    _FGETC
  268.  
  269.         cmp.b    #$0d,d0
  270.         beq    3f
  271.         cmp.b    #$0a,d0
  272.         bne    2f
  273.  
  274.         pea    msgCR(pc)
  275.         dos    _PRINT
  276.         addq.l    #4,sp
  277.         subq.l    #1,d3
  278.         bne    3f
  279.         bra    4f
  280. 2
  281.         move.w    d0,(sp)
  282.         DOS    _PUTCHAR
  283. 3
  284.         subq.l    #1,d2
  285.         bnz    1b
  286. 4
  287.         addq.l    #8,sp
  288.  
  289.         move.l    (sp)+,d0
  290.         clr.w    -(sp)
  291.         move.l    d0,-(sp)
  292.         move.w    d1,-(sp)
  293.         DOS    _SEEK
  294.         addq.l    #8,sp
  295.  
  296. imsg_disp_end
  297.         move.w    #31,-(sp)
  298.         move.w    #0,-(sp)
  299.         move.w    #15,-(sp)
  300.         DOS    _CONCTRL
  301.         addq.l    #6,sp
  302.  
  303.         movem.l    (sp)+,d0-d7/a0
  304.         rts
  305.  
  306. ******************************************************************************
  307. *
  308. *  ëµæ£ö{ùªé≡ò\Ī
  309. *
  310. ******************************************************************************
  311. .xdef Disp_Pic_Zoom
  312. Disp_Pic_Zoom
  313.  
  314.         btst.b    #0,Sys_flag3(a6)
  315.         beq    Disp_Pic_Zoom_end
  316.  
  317.         movem.l    d0-d7,-(sp)
  318.  
  319.     *ö{ùª(41,4)
  320.     *---------------------
  321.         move.l    #$0029_0004,-(sp)
  322.         move.w    #3,-(sp)
  323.         DOS    _CONCTRL
  324.         addq.l    #6,sp
  325.  
  326.         move.w    Interval(a6),d0
  327.         bsr    PrintW
  328.         move.w    #'/',-(sp)
  329.         DOS    _PUTCHAR
  330.  
  331.         move.w    Interval+2(a6),d0
  332.         bsr    PrintW
  333.  
  334.         pea.l    spc8_msg(pc)
  335.         DOS    _PRINT
  336.  
  337.         addq.l    #4+2,sp
  338.  
  339.         movem.l    (sp)+,d0-d7
  340.  
  341. Disp_Pic_Zoom_end
  342.         rts
  343. ******************************************************************************
  344. *
  345. *  ëµæ£ê╩Æué≡ò\Ī
  346. *
  347. ******************************************************************************
  348. .xdef Disp_Pic_Position
  349. Disp_Pic_Position
  350.  
  351.         btst.b    #0,Sys_flag3(a6)
  352.         beq    Disp_Pic_Position_end
  353.  
  354.         movem.l    d0-d7,-(sp)
  355.  
  356.     *ê╩Æu(41,3)
  357.     *---------------------
  358.         move.l    #$0029_0003,-(sp)
  359.         move.w    #3,-(sp)
  360.         DOS    _CONCTRL
  361.         addq.l    #6,sp
  362.  
  363.         move.w    #'(',-(sp)
  364.         DOS    _PUTCHAR
  365.  
  366.         move.w    MOUSE_TX(a6),d0
  367.         sub.w    XL2(a6),d0
  368.         bsr    PrintWI
  369.         move.w    #',',(sp)
  370.         DOS    _PUTCHAR
  371.  
  372.         move.w    MOUSE_TY(a6),d0
  373.         sub.w    YL2(a6),d0
  374.         bsr    PrintWI
  375.  
  376.         move.w    #')',(sp)
  377.         DOS    _PUTCHAR
  378.  
  379.         pea.l    spc8_msg(pc)
  380.         DOS    _PRINT
  381.  
  382.         addq.l    #4+2,sp
  383.  
  384.         movem.l    (sp)+,d0-d7
  385.  
  386. Disp_Pic_Position_end
  387.         rts
  388.  
  389. ******************************************************************************
  390. *
  391. *    ╥╙╪└▐▌╠▀
  392. *
  393. *    a1    èJÄnâAâhâîâX
  394. *    d1.l    ò\ĪâoâCâgÉö
  395. *
  396. ******************************************************************************
  397. .xdef    DumpMem
  398. DumpMem
  399.     movem.l    d0-d7/a0-a5,-(sp)
  400.     bsr    CRLF
  401.     movea.l    a3,a0
  402.     moveq.l    #16-1,d2
  403.  
  404. 1:
  405.     cmp.w    #16-1,d2
  406.     bne    2f
  407.  
  408.     move.l    a1,d0
  409.     bsr    PrintHex
  410.     
  411. 2:
  412.     move.b    (a1)+,d0
  413.     bsr    PrintHex8
  414.     dbra.w    d2,3f
  415.     bsr    CRLF
  416.     moveq.l    #16-1,d2
  417. 3:    
  418.     subq.l    #1,d1
  419.     bhi    1b
  420.     bsr    CRLF
  421.     movem.l    (sp)+,d0-d7/a0-a5
  422.     rts
  423.  
  424. ******************************************************************************
  425. *
  426. *    ëⁿìsò\Ī
  427. *
  428. ******************************************************************************
  429. .xdef CRLF
  430. CRLF
  431.     move.l    d0,-(sp)
  432.     move.w    #$0d,-(sp)
  433.     DOS    _PUTCHAR
  434.     move.w    #$0a,(sp)
  435.     DOS    _PUTCHAR
  436.     addq.l    #2,sp
  437.     move.l    (sp)+,d0
  438.     rts
  439.  
  440. ******************************************************************************
  441. *
  442. *    ÉöÄÜò\Ī    d0:w
  443. *
  444. ******************************************************************************
  445. .xdef PrintWI
  446. PrintWI
  447.     tst.w    d0
  448.     bpl    PrintW
  449.     beq    PrintW
  450.     move.l    d0,-(sp)
  451.     move.w    #'-',-(sp)
  452.     DOS    _PUTCHAR
  453.     addq.w    #2,sp
  454.     move.l    (sp)+,d0
  455.     neg.w    d0
  456.     bsr    PrintW
  457.     neg.w    d0
  458.     rts
  459.  
  460. .xdef    PrintW
  461. PrintW
  462.     movem.l d0-d1/a5,-(sp)
  463.     and.l    #$0000FFFF,d0
  464.     moveq.l    #10,d1
  465.     move.l    sp,a5
  466.     subq.l    #8,sp
  467.     clr.b    -(a5)
  468. prtw10
  469.     divu    d1,d0
  470.     swap    d0
  471.     add.b    #'0',d0
  472.     move.b    d0,-(a5)
  473.     clr.w    d0
  474.     swap    d0
  475.     bne    prtw10
  476.     move.l    a5,-(sp)
  477.     dos       _PRINT
  478.     lea.l    8+4(sp),sp
  479.     movem.l    (sp)+,d0-d1/a5
  480.     rts
  481.  
  482.  
  483. .xdef    Print2keta
  484. Print2keta
  485.     movem.l    d0/a5,-(sp)
  486.     move.l    sp,a5
  487.     subq.l    #4,sp
  488.     clr.b    -(a5)
  489. @@
  490.     divu.w    #10,d0
  491.     swap    d0
  492.     add.l    #'0'*$10000+'0',d0
  493.     move.b    d0,-(a5)
  494.     swap.w    d0
  495.     move.b    d0,-(a5)
  496.     move.l    a5,-(sp)
  497.     DOS    _PRINT
  498.     addq.l    #8,sp
  499.     movem.l    (sp)+,d0/a5
  500.      rts
  501.  
  502.  
  503.  
  504.  
  505. .xdef    PrintHex8
  506. PrintHex8
  507.     movem.l    d0-d1/a5,-(sp)
  508.     move.l    sp,a5
  509.     subq.l    #4,sp
  510.     move.w    #' '*256,-(a5)
  511.     bsr    _printhex2
  512.     move.l    a5,-(sp)
  513.     DOS    _PRINT
  514.     addq.l    #8,sp
  515.     movem.l    (sp)+,d0-d1/a5
  516.     rts
  517.  
  518. .xdef    PrintHex
  519. PrintHex
  520.     movem.l    d0-d1/a5,-(sp)
  521.     move.l    sp,a5
  522.     lea.l    -12(sp),sp
  523.     move.w    #' '*256,-(a5)
  524.     bsr    _printhex4
  525.     bsr    _printhex4
  526.     move.l    a5,-(sp)
  527.     DOS    _PRINT
  528.     lea.l    4+12(sp),sp
  529.     movem.l    (sp)+,d0-d1/a5
  530.     rts
  531.  
  532.     *éSîàò¬ò\Ī
  533.     *-------------------
  534. _printhex4
  535.     bsr    _printhex2
  536.  
  537.     *éQîàò¬ò\Ī
  538.     *-------------------
  539. _printhex2
  540.     bsr    @f
  541. @@
  542.     moveq.l    #$0f,d1
  543.     and.b    d0,d1
  544.     cmp.b    #$0a,d1
  545.     bcs    @f
  546.     add.b    #'A'-'0'-$0a,d1
  547. @@
  548.     add.b    #'0',d1
  549.     move.b    d1,-(a5)
  550.     lsr.l    #4,d0
  551.     rts
  552.  
  553.     .end
  554.